<?php	namespace Home\Controller;
/**
 * 我的优购管理控制器
 * @author 武斌  <wubin.mail@foxmail.com>
 */
class MineYGController extends CommonController
{
	protected $db;
	public function __init()
	{
		$this->db = new \Home\Model\OrderL;
	}
	/**
	 * 我的优购首页
	 */
	public function index()
	{
		//注入当前网页公共头部变量
		$pageConf = array(
			'css'=>'mine|content',
			'js'=>'list|content',
			'title'=>'我的优购',
		);
		View::with('pageConf',$pageConf);
		//载入模板
		View::make(TEMPLATE . 'mine.html');
	}
	/**
	 * 我的订单
	 */
	public function order()
	{
		//注入当前网页公共头部变量
		$pageConf = array(
			'css'=>'order|content',
			'js'=>'list|content',
			'title'=>'我的订单',
		);
		View::with('pageConf',$pageConf);	
		//获取我的订单数据，时间倒序排列
		$mineData = $this->db->orderBy('time','DESC')->get();
		//实例化订单列表
		$orderList = new \Home\Model\OrderList;	
		foreach ($mineData as $k => $v) {
			//将没条订单的订单列表数据追加到数组
			$mineData[$k]['orderlist'] = $orderList->where("orderL_oid",$v['oid'])->get();
		}
		//实例化商品表
		$goods = new \Home\Model\Goods;
		foreach ($mineData as $k => $v) {
			foreach ($v['orderlist'] as $key => $value) {
				//根据订单列表中的商品id，将商品数据追加进去
				$mineData[$k]['orderlist'][$key]['goods'] = $goods->where("gid",$value['goods_gid'])->first();
			}
		}		
		View::with('mineData',$mineData);		
		//载入我的订单模板
		View::make(TEMPLATE . 'mineOrder.html');
	}
	/**
	 * 个人资料
	 */
	public function personal()
	{
		//注入当前网页公共头部变量
		$pageConf = array(
			'css'=>'personal|content',
			'js'=>'city|content|list',
			'title'=>'个人资料',
		);
		View::with('pageConf',$pageConf);
		//个人资料	
		$uid = $_SESSION['uid'];
		//实例化Public模型
		$public = new \Home\Model\user;
		if(IS_POST){
			//如果验证不通过，提示错误
			if(!$public->edit($uid)){
				$this->error($public->getError());
			}	
			//添加成功，给出提示，第二个参数不写默认返回上一级
			View::success('修改成功',U('Home/MineYG/personal'));
		}
		//查询单条用户数据信息	
		$userData = $public->where("uid",$uid)->first();
		//将用户信息中的地址信息转为数组数据
		$userData['area'] = explode('/',$userData['area']);
		View::with('userData',$userData);			
		//载入模板
		View::make(TEMPLATE . 'minePersonal.html');
	}
	/**
	 * 收货地址管理
	 */
	public function address()
	{
		//注入当前网页公共头部变量
		$pageConf = array('css'=>'address|content','js'=>'city|address|content|list','title'=>'我的收货地址',);
		View::with('pageConf',$pageConf);
		//获得当前登录用户的地址信息		
		$mineAddress = Db::table('useraddress')->get();
		//分配变量并载入模板
		View::with('mineAddress',$mineAddress)->make(TEMPLATE . 'mineAddress.html');
	}
	 /**
	 * 添加新地址
	 */
	public function add(){
		//当前登录的用户id
		$user_uid = $_SESSION['uid'];
		//实例化地址表
		$userAddress = new \Home\Model\UserAddress;
		//执行UserAddress模型中的添加，添加不通过，提示错误信息
			if(!$userAddress->addData($user_uid)){
				$this->error($userAddress->getError());
			}
		//添加通过提示成功信息，跳转到当前控制器首页
		View::success('添加成功',U('address'));
	}	
}
